﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x0200008B RID: 139
	public class TCaseStmt : TCustomSqlStatement
	{
		// Token: 0x06000394 RID: 916 RVA: 0x002FA05C File Offset: 0x002F825C
		public TCaseStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000395 RID: 917 RVA: 0x002FA066 File Offset: 0x002F8266
		public TCaseStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sst_casestmt;
		}

		// Token: 0x06000396 RID: 918 RVA: 0x002FA077 File Offset: 0x002F8277
		internal override void buildsql()
		{
		}

		// Token: 0x06000397 RID: 919 RVA: 0x002FA079 File Offset: 0x002F8279
		internal override void clear()
		{
		}

		// Token: 0x06000398 RID: 920 RVA: 0x002FA07B File Offset: 0x002F827B
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000399 RID: 921 RVA: 0x002FA082 File Offset: 0x002F8282
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x0600039A RID: 922 RVA: 0x002FA084 File Offset: 0x002F8284
		public override void init(object arg1)
		{
			this.caseExpr = (TCaseExpression)arg1;
		}

		// Token: 0x17000063 RID: 99
		// (get) Token: 0x0600039B RID: 923 RVA: 0x002FA092 File Offset: 0x002F8292
		// (set) Token: 0x0600039C RID: 924 RVA: 0x002FA09A File Offset: 0x002F829A
		public virtual TCaseExpression CaseExpr
		{
			get
			{
				return this.caseExpr;
			}
			set
			{
				this.caseExpr = value;
			}
		}

		// Token: 0x0600039D RID: 925 RVA: 0x002FA0A3 File Offset: 0x002F82A3
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			this.caseExpr.doParse(this, ESqlClause.unknown);
			return 0;
		}

		// Token: 0x0600039E RID: 926 RVA: 0x002FA0BB File Offset: 0x002F82BB
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600039F RID: 927 RVA: 0x002FA0CB File Offset: 0x002F82CB
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x040010B8 RID: 4280
		private TCaseExpression caseExpr;
	}
}
